package common.util
{
	
	
	
	public class CheckUtil{
		
		/**
		 * 验证字符串长度
		 * 验证规则：字符串长度不能超过length限制（1个中文字符长度为2）
		 * 
		 * 验证通过返回true;否则返回false
		 */ 
		public static function checkStrLen(code:String,length:int):Boolean{
			if(getStrActualLen(code)>length){
				
				return false;
			}else{
				return true;				
			}
		}
		
		/**
		 * 返回字符串长度（1个中文字符长度为2）
		 */ 
		private static  function getStrActualLen(sChars:String) : int { 
			return sChars.replace(/[^\x00-\xff]/g,"xx").length;
		}
		
		/**
		 * 验证日期格式(YYYY-MM-DD)
		 */
		public static function checkDate(str:String):Boolean{
			var re:RegExp = /^[1-9][0-9]{3}\-((01\-(0[0-9]|[12][0-9]|3[0-1]))|(0[3578]\-(0[1-9]|[12][0-9]|3[0-1]))|(1[02]\-(0[1-9]|[12][0-9]|3[0-1]))|(((0[469])|11)\-(0[1-9]|[12][0-9]|30))|(02\-(0[1-9]|1[0-9]|2[0-9])))$/;
			return re.test(str);
		}
		
		/**
		 * 验证日期时间格式(YYYY-MM-DD HH:NN)
		 */
		public static function checkDateTime(str:String):Boolean{
			var re:RegExp = /^[1-9][0-9]{3}\-((01\-(0[0-9]|[12][0-9]|3[0-1]))|(0[3578]\-(0[1-9]|[12][0-9]|3[0-1]))|(1[02]\-(0[1-9]|[12][0-9]|3[0-1]))|(((0[469])|11)\-(0[1-9]|[12][0-9]|30))|(02\-(0[1-9]|1[0-9]|2[0-9]))) ([0-1][0-9]|2[0-3])\:([0-5][0-9])$/;
			return re.test(str);
		}
		
		/**
		 * 验证身份证
		 */
		public static function checkIdCard(str:String):Boolean{
			var re:RegExp = /^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}((19\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d{2}(0[13578]|1[02])31)|(19\d{2}02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x)?$/;
			return re.test(str);
		}
		
		/**
		 * 验证是为空
		 */
		public static function checkEmpty(str:String):Boolean{
			if(str && str!=""){
				return false;
			}
			return true;
		}
		
	}
}